<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>

</html>
<script>
/**面向对象 是一种编程思想，与之对应的是面向过程，分类解决问题
 * 
 * 
 *  继承 子类继承父类的属性和方法
 * 目的 可以让子类的实例能够调用父类的属性和方法
 * 特点：
 * 1、js不像其他语言中的继承一样（其他语言的继承一般是通过拷贝，也就是子类继承父类的时候，会把父类的属性 和方法都拷贝
 * 一份到子类中，js他是把父类的原型放到子类实例的原型链上，实例想要调用这些方法，其实是基于__proto__原型链查找机制完成
 * 2、子类可以重写父类上的方法这样会导致父类其他的实例都会受到影响
 * 3、父类中似有分或者公有的属性和方法，最后都会变成子类公有的属性和方法
 * 
 * call继承的特点
 * CHild方法中把paraent当做普通函数执行，让child中的this指向child的实例，相当于给child的实例设置了似有的
 * 属性和私有的方法
 * 1、只能继承父类私有的属性和方法因为只是把parent当做普通函数执行，genparent原型上的属性和方法）
 * 2、父类私有属性和方法变成子类私有的属性和方法
 * 
 * 寄生组合继承
 * 特点:父类私有的和公有的属性和方法，分别就是子类私有和公有的方法
 * 
 * 
 */


</script>